home *** CD-ROM | disk | FTP | other *** search
- //Language: Assembler
- //Copyright (c) 1992-2002 Altium Limited
- //All rights reserved.
- //http://www.dream-com.com
- //contact@dream-com.com
-
- // states
- State=snormal
- State=sstring1
- State=sstring2
- State=scomment
- // tokens
- Token=tnone
- Token=tstring
- Token=tcomment
- Token=tident
- Token=tinteger
- Token=tfloat
- Token=tresword
- Token=tassembler
- Token=turl
- Token=twhitespace
- Token=tdirective
- //delims
- Delimiters=;.,:'"{}[]()?!@#$%^&*-+=|\/
-
- // reswords
- snormal 'AAA' snormal tresword
- snormal 'AAD' snormal tresword
- snormal 'AAM' snormal tresword
- snormal 'AAS' snormal tresword
- snormal 'ADC' snormal tresword
- snormal 'ADD' snormal tresword
- snormal 'AND' snormal tresword
- snormal 'ARPL' snormal tresword
- snormal 'BOUND' snormal tresword
- snormal 'BSF' snormal tresword
- snormal 'BSR' snormal tresword
- snormal 'BSWAP' snormal tresword
- snormal 'BT' snormal tresword
- snormal 'BTC' snormal tresword
- snormal 'BTR' snormal tresword
- snormal 'BTS' snormal tresword
- snormal 'CALL' snormal tresword
- snormal 'CBW' snormal tresword
- snormal 'CDQ' snormal tresword
- snormal 'CLC' snormal tresword
- snormal 'CLD' snormal tresword
- snormal 'CLI' snormal tresword
- snormal 'CLTS' snormal tresword
- snormal 'CMC' snormal tresword
- snormal 'CMP' snormal tresword
- snormal 'CMPS' snormal tresword
- snormal 'CMPSB' snormal tresword
- snormal 'CMPSD' snormal tresword
- snormal 'CMPSW' snormal tresword
- snormal 'CMPXCHG' snormal tresword
- snormal 'CWD' snormal tresword
- snormal 'CWDE' snormal tresword
- snormal 'DAA' snormal tresword
- snormal 'DAS' snormal tresword
- snormal 'DEC' snormal tresword
- snormal 'DIV' snormal tresword
- snormal 'ENTER' snormal tresword
- snormal 'ESC' snormal tresword
- snormal 'F2XM1' snormal tresword
- snormal 'FABS' snormal tresword
- snormal 'FADD' snormal tresword
- snormal 'FADDP' snormal tresword
- snormal 'FBLD' snormal tresword
- snormal 'FBSTP' snormal tresword
- snormal 'FCHS' snormal tresword
- snormal 'FCLEX' snormal tresword
- snormal 'FCOM' snormal tresword
- snormal 'FCOMP' snormal tresword
- snormal 'FCOMPP' snormal tresword
- snormal 'FCOS' snormal tresword
- snormal 'FDECSTP' snormal tresword
- snormal 'FDISI' snormal tresword
- snormal 'FDIV' snormal tresword
- snormal 'FDIVP' snormal tresword
- snormal 'FDIVR' snormal tresword
- snormal 'FDIVRP' snormal tresword
- snormal 'FENI' snormal tresword
- snormal 'FFREE' snormal tresword
- snormal 'FIADD' snormal tresword
- snormal 'FICOM' snormal tresword
- snormal 'FICOMP' snormal tresword
- snormal 'FIDIV' snormal tresword
- snormal 'FIDIVR' snormal tresword
- snormal 'FILD' snormal tresword
- snormal 'FIMUL' snormal tresword
- snormal 'FINCSTP' snormal tresword
- snormal 'FINIT' snormal tresword
- snormal 'FIST' snormal tresword
- snormal 'FISTP' snormal tresword
- snormal 'FISUB' snormal tresword
- snormal 'FISUBR' snormal tresword
- snormal 'FLD' snormal tresword
- snormal 'FLD1' snormal tresword
- snormal 'FLDCW' snormal tresword
- snormal 'FLDENV' snormal tresword
- snormal 'FLDL2E' snormal tresword
- snormal 'FLDL2T' snormal tresword
- snormal 'FLDLG2' snormal tresword
- snormal 'FLDLN2' snormal tresword
- snormal 'FLDPI' snormal tresword
- snormal 'FLDZ' snormal tresword
- snormal 'FMUL' snormal tresword
- snormal 'FMULP' snormal tresword
- snormal 'FNCLEX' snormal tresword
- snormal 'FNDISI' snormal tresword
- snormal 'FNENI' snormal tresword
- snormal 'FNINIT' snormal tresword
- snormal 'FNOP' snormal tresword
- snormal 'FNSAVE' snormal tresword
- snormal 'FNSTCW' snormal tresword
- snormal 'FNSTENV' snormal tresword
- snormal 'FNSTSW' snormal tresword
- snormal 'FPATAN' snormal tresword
- snormal 'FPREM' snormal tresword
- snormal 'FPREM1' snormal tresword
- snormal 'FPTAN' snormal tresword
- snormal 'FRNDINT' snormal tresword
- snormal 'FRSTOR' snormal tresword
- snormal 'FSAVE' snormal tresword
- snormal 'FSCALE' snormal tresword
- snormal 'FSETPM' snormal tresword
- snormal 'FSIN' snormal tresword
- snormal 'FSINCOS' snormal tresword
- snormal 'FSQRT' snormal tresword
- snormal 'FST' snormal tresword
- snormal 'FSTCW' snormal tresword
- snormal 'FSTENV' snormal tresword
- snormal 'FSTP' snormal tresword
- snormal 'FSTSW' snormal tresword
- snormal 'FSUB' snormal tresword
- snormal 'FSUBP' snormal tresword
- snormal 'FSUBR' snormal tresword
- snormal 'FSUBRP' snormal tresword
- snormal 'FTST' snormal tresword
- snormal 'FUCOM' snormal tresword
- snormal 'FUCOMP' snormal tresword
- snormal 'FUCOMPP' snormal tresword
- snormal 'FWAIT' snormal tresword
- snormal 'FXAM' snormal tresword
- snormal 'FXCH' snormal tresword
- snormal 'FXTRACT' snormal tresword
- snormal 'FYL2X' snormal tresword
- snormal 'FYL2XP1' snormal tresword
- snormal 'HLT' snormal tresword
- snormal 'IDIV' snormal tresword
- snormal 'IMUL' snormal tresword
- snormal 'IN' snormal tresword
- snormal 'INC' snormal tresword
- snormal 'INSB' snormal tresword
- snormal 'INSD' snormal tresword
- snormal 'INSW' snormal tresword
- snormal 'INT' snormal tresword
- snormal 'INTO' snormal tresword
- snormal 'INVD' snormal tresword
- snormal 'INVLPG' snormal tresword
- snormal 'IRET' snormal tresword
- snormal 'IRETD' snormal tresword
- snormal 'JA' snormal tresword
- snormal 'JAE' snormal tresword
- snormal 'JB' snormal tresword
- snormal 'JBE' snormal tresword
- snormal 'JC' snormal tresword
- snormal 'JCXZ' snormal tresword
- snormal 'JE' snormal tresword
- snormal 'JECXZ' snormal tresword
- snormal 'JG' snormal tresword
- snormal 'JGE' snormal tresword
- snormal 'JL' snormal tresword
- snormal 'JLE' snormal tresword
- snormal 'JMP' snormal tresword
- snormal 'JNA' snormal tresword
- snormal 'JNAE' snormal tresword
- snormal 'JNB' snormal tresword
- snormal 'JNBE' snormal tresword
- snormal 'JNC' snormal tresword
- snormal 'JNE' snormal tresword
- snormal 'JNG' snormal tresword
- snormal 'JNGE' snormal tresword
- snormal 'JNL' snormal tresword
- snormal 'JNLE' snormal tresword
- snormal 'JNO' snormal tresword
- snormal 'JNP' snormal tresword
- snormal 'JNS' snormal tresword
- snormal 'JNZ' snormal tresword
- snormal 'JO' snormal tresword
- snormal 'JP' snormal tresword
- snormal 'JPE' snormal tresword
- snormal 'JPO' snormal tresword
- snormal 'JS' snormal tresword
- snormal 'JZ' snormal tresword
- snormal 'LAHF' snormal tresword
- snormal 'LAR' snormal tresword
- snormal 'LDS' snormal tresword
- snormal 'LEA' snormal tresword
- snormal 'LEAVE' snormal tresword
- snormal 'LES' snormal tresword
- snormal 'LFS' snormal tresword
- snormal 'LGDT' snormal tresword
- snormal 'LGS' snormal tresword
- snormal 'LIDT' snormal tresword
- snormal 'LLDT' snormal tresword
- snormal 'LMSW' snormal tresword
- snormal 'LOCK' snormal tresword
- snormal 'LODS' snormal tresword
- snormal 'LODSB' snormal tresword
- snormal 'LODSD' snormal tresword
- snormal 'LODSW' snormal tresword
- snormal 'LOOP' snormal tresword
- snormal 'LOOPD' snormal tresword
- snormal 'LOOPDE' snormal tresword
- snormal 'LOOPDNE' snormal tresword
- snormal 'LOOPDNZ' snormal tresword
- snormal 'LOOPDZ' snormal tresword
- snormal 'LOOPE' snormal tresword
- snormal 'LOOPNE' snormal tresword
- snormal 'LOOPNZ' snormal tresword
- snormal 'LOOPZ' snormal tresword
- snormal 'LSL' snormal tresword
- snormal 'LSS' snormal tresword
- snormal 'LTR' snormal tresword
- snormal 'MOV' snormal tresword
- snormal 'MOVS' snormal tresword
- snormal 'MOVSB' snormal tresword
- snormal 'MOVSD' snormal tresword
- snormal 'MOVSW' snormal tresword
- snormal 'MOVSX' snormal tresword
- snormal 'MOVZX' snormal tresword
- snormal 'MUL' snormal tresword
- snormal 'NEG' snormal tresword
- snormal 'NOP' snormal tresword
- snormal 'NOT' snormal tresword
- snormal 'OR' snormal tresword
- snormal 'OUT' snormal tresword
- snormal 'OUTSB' snormal tresword
- snormal 'OUTSD' snormal tresword
- snormal 'OUTSW' snormal tresword
- snormal 'POP' snormal tresword
- snormal 'POPA' snormal tresword
- snormal 'POPAD' snormal tresword
- snormal 'POPF' snormal tresword
- snormal 'POPFD' snormal tresword
- snormal 'PUSH' snormal tresword
- snormal 'PUSHA' snormal tresword
- snormal 'PUSHAD' snormal tresword
- snormal 'PUSHF' snormal tresword
- snormal 'PUSHFD' snormal tresword
- snormal 'RCL' snormal tresword
- snormal 'RCR' snormal tresword
- snormal 'REP' snormal tresword
- snormal 'REPE' snormal tresword
- snormal 'REPNE' snormal tresword
- snormal 'REPNZ' snormal tresword
- snormal 'REPZ' snormal tresword
- snormal 'RET' snormal tresword
- snormal 'RETF' snormal tresword
- snormal 'RETN' snormal tresword
- snormal 'ROL' snormal tresword
- snormal 'ROR' snormal tresword
- snormal 'SAHF' snormal tresword
- snormal 'SAL' snormal tresword
- snormal 'SAR' snormal tresword
- snormal 'SBB' snormal tresword
- snormal 'SCAS' snormal tresword
- snormal 'SCASB' snormal tresword
- snormal 'SCASD' snormal tresword
- snormal 'SCASW' snormal tresword
- snormal 'SEGCS' snormal tresword
- snormal 'SEGDS' snormal tresword
- snormal 'SEGES' snormal tresword
- snormal 'SEGFS' snormal tresword
- snormal 'SEGGS' snormal tresword
- snormal 'SEGSS' snormal tresword
- snormal 'SETA' snormal tresword
- snormal 'SETAE' snormal tresword
- snormal 'SETB' snormal tresword
- snormal 'SETBE' snormal tresword
- snormal 'SETC' snormal tresword
- snormal 'SETE' snormal tresword
- snormal 'SETG' snormal tresword
- snormal 'SETGE' snormal tresword
- snormal 'SETL' snormal tresword
- snormal 'SETLE' snormal tresword
- snormal 'SETNA' snormal tresword
- snormal 'SETNAE' snormal tresword
- snormal 'SETNB' snormal tresword
- snormal 'SETNBE' snormal tresword
- snormal 'SETNC' snormal tresword
- snormal 'SETNE' snormal tresword
- snormal 'SETNG' snormal tresword
- snormal 'SETNGE' snormal tresword
- snormal 'SETNL' snormal tresword
- snormal 'SETNLE' snormal tresword
- snormal 'SETNO' snormal tresword
- snormal 'SETNP' snormal tresword
- snormal 'SETNS' snormal tresword
- snormal 'SETNZ' snormal tresword
- snormal 'SETO' snormal tresword
- snormal 'SETP' snormal tresword
- snormal 'SETPE' snormal tresword
- snormal 'SETPO' snormal tresword
- snormal 'SETS' snormal tresword
- snormal 'SETZ' snormal tresword
- snormal 'SGDT' snormal tresword
- snormal 'SHL' snormal tresword
- snormal 'SHLD' snormal tresword
- snormal 'SHR' snormal tresword
- snormal 'SHRD' snormal tresword
- snormal 'SIDT' snormal tresword
- snormal 'SLDT' snormal tresword
- snormal 'SMSW' snormal tresword
- snormal 'STC' snormal tresword
- snormal 'STD' snormal tresword
- snormal 'STI' snormal tresword
- snormal 'STOS' snormal tresword
- snormal 'STOSB' snormal tresword
- snormal 'STOSD' snormal tresword
- snormal 'STOSW' snormal tresword
- snormal 'STR' snormal tresword
- snormal 'SUB' snormal tresword
- snormal 'TEST' snormal tresword
- snormal 'VERR' snormal tresword
- snormal 'VERW' snormal tresword
- snormal 'WAIT' snormal tresword
- snormal 'WBINVD' snormal tresword
- snormal 'XADD' snormal tresword
- snormal 'XCHG' snormal tresword
- snormal 'XLAT' snormal tresword
- snormal 'XOR' snormal tresword
- snormal 'AH' snormal tresword
- snormal 'AL' snormal tresword
- snormal 'AND' snormal tresword
- snormal 'AX' snormal tresword
- snormal 'BH' snormal tresword
- snormal 'BL' snormal tresword
- snormal 'BP' snormal tresword
- snormal 'BX' snormal tresword
- snormal 'BYTE' snormal tresword
- snormal 'CH' snormal tresword
- snormal 'CL' snormal tresword
- snormal 'CS' snormal tresword
- snormal 'CX' snormal tresword
- snormal 'DH' snormal tresword
- snormal 'DI' snormal tresword
- snormal 'DL' snormal tresword
- snormal 'DS' snormal tresword
- snormal 'DWORD' snormal tresword
- snormal 'DX' snormal tresword
- snormal 'EAX' snormal tresword
- snormal 'EBP' snormal tresword
- snormal 'EBX' snormal tresword
- snormal 'ECX' snormal tresword
- snormal 'EDI' snormal tresword
- snormal 'EDX' snormal tresword
- snormal 'EIP' snormal tresword
- snormal 'ES' snormal tresword
- snormal 'ESI' snormal tresword
- snormal 'ESP' snormal tresword
- snormal 'FS' snormal tresword
- snormal 'GS' snormal tresword
- snormal 'HIGH' snormal tresword
- snormal 'LOW' snormal tresword
- snormal 'MOD' snormal tresword
- snormal 'NOT' snormal tresword
- snormal 'OFFSET' snormal tresword
- snormal 'OR' snormal tresword
- snormal 'PTR' snormal tresword
- snormal 'QWORD' snormal tresword
- snormal 'SHL' snormal tresword
- snormal 'SHR' snormal tresword
- snormal 'SI' snormal tresword
- snormal 'SP' snormal tresword
- snormal 'SS' snormal tresword
- snormal 'ST' snormal tresword
- snormal 'TBYTE' snormal tresword
- snormal 'TYPE' snormal tresword
- snormal 'WORD' snormal tresword
- snormal 'XOR' snormal tresword
- snormal 'ASSUME' snormal tresword
- snormal 'COMMENT' snormal tresword
- snormal 'DB' snormal tresword
- snormal 'DD' snormal tresword
- snormal 'DQ' snormal tresword
- snormal 'DT' snormal tresword
- snormal 'DW' snormal tresword
- snormal 'END' snormal tresword
- snormal 'ENDM' snormal tresword
- snormal 'ENDP' snormal tresword
- snormal 'ENDS' snormal tresword
- snormal 'EQ' snormal tresword
- snormal 'EQU' snormal tresword
- snormal 'EXITM' snormal tresword
- snormal 'EXTRN' snormal tresword
- snormal 'FAR' snormal tresword
- snormal 'GE' snormal tresword
- snormal 'GROUP' snormal tresword
- snormal 'GT' snormal tresword
- snormal 'INCLUDE' snormal tresword
- snormal 'LABEL' snormal tresword
- snormal 'LARGE' snormal tresword
- snormal 'LE' snormal tresword
- snormal 'LENGTH' snormal tresword
- snormal 'LOCAL' snormal tresword
- snormal 'LT' snormal tresword
- snormal 'MACRO' snormal tresword
- snormal 'MASK' snormal tresword
- snormal 'NAME' snormal tresword
- snormal 'NEAR' snormal tresword
- snormal 'ORG' snormal tresword
- snormal 'PAGE' snormal tresword
- snormal 'PROC' snormal tresword
- snormal 'PUBLIC' snormal tresword
- snormal 'PURGE' snormal tresword
- snormal 'RECORD' snormal tresword
- snormal 'REPT' snormal tresword
- snormal 'SEG' snormal tresword
- snormal 'SEGMENT' snormal tresword
- snormal 'SHORT' snormal tresword
- snormal 'SIZE' snormal tresword
- snormal 'SMALL' snormal tresword
- snormal 'STRUC' snormal tresword
- snormal 'SUBTTL' snormal tresword
- snormal 'SYMTYPE' snormal tresword
- snormal 'THIS' snormal tresword
- snormal 'TITLE' snormal tresword
- snormal 'WIDTH' snormal tresword
-
- // numbers
- snormal [1-9][0-9]* snormal tinteger
- snormal [1-9][0-9]*\.[0-9]* snormal tfloat
- snormal [1-9][0-9]*{\.[0-9]+}|e{[\+\-]}|[0-9]+ snormal tfloat
-
- //idents
-
- snormal [a-z_A-Z][a-z_A-Z0-9]* snormal tident
-
- //white space
- snormal #32* snormal twhitespace
-
- //comments
- snormal \; scomment tcomment
- scomment [#1-#255]* snormal tcomment
- scomment $ snormal tcomment
-
- //strings
- snormal \' sstring1 tstring
- sstring1 [^\']* sstring1 tstring
- sstring1 \' snormal tstring
- sstring1 \'\' sstring1 tstring
- sstring1 $ snormal tstring
-
- snormal \" sstring2 tstring
- sstring2 [^\"]* sstring2 tstring
- sstring2 \" snormal tstring
- sstring2 \"\" sstring2 tstring
- sstring2 $ snormal tstring
-